#ifndef MAINWINDOW_H   //主窗口头文件
#define MAINWINDOW_H
#include <QFileDialog> //引入一个类，QFileDialog专门负责文件的打开等操作。

#include <QMainWindow>
#include <QSharedPointer> //这个是智能指针
#include "ui_redirect.h"  //引用重定向头文件（田老师写的）

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow  // 继承自QMainWindow类
{
    Q_OBJECT    //加入Q_OBJECT宏

public:
    explicit MainWindow(QWidget *parent = 0); //显式（explicit）编写基于QWidget的构造函数（括号内都是MainWindow的输入）

    ~MainWindow(); //普通析构函数（这里只是普通的继承，没有多态性），函数名称与类名相同外加一个~前缀

private slots:

    void on_actionOpen_triggered(); //打开文件的槽函数

private:
    Ui::MainWindow *ui;

    // std::cout redirector
    QSharedPointer<QRedirectStream> qredirection; //构建一个重定向对象qredirection
};

#endif // MAINWINDOW_H
